The desire to capture, store, manipulate, view and interact with textual material, image material, animation material and audio material has been a driving force in the development of recording, processing and distribution systems. The present application has particular application in the field of multimedia, where the user authoring a multimedia presentation desires to combine textual, audio and video images in a given sequence and combination. In fact, as time goes by and people become more familiar with multimedia production systems, the ability and interest to interact with the media is becoming an everyday part of life. An example of this is the evolution of computer games, which is a prime example of the emergence of interactive multimedia. Computer games began exclusively with text-based interaction. As the technology evolved, the means for rendering images on a home television became possible. Sound generation then became widespread. The advent of the integrated circuits, powerful microprocessors and less expensive memory made the creation of games with visual, auditory and interactive elements common place today. A modern video game is an interactive multimedia "story" where the story is preprogrammed at the factory and does not allow (usually) customization by the end-user.
As the technology for creating, manipulating and presenting various forms of media on standard desk top computers such as PCs and Macintoshes has become more widespread, there has been a need for techniques and systems for organizing and presenting multimedia "stories" on these platforms in order to make it easier for a wider and wider audience of users to author such multimedia stories, whereas in the past the authoring of a multimedia presentation would likely be left to a professional whose training is specifically to produce such stories. As multimedia becomes more popular and spreads in usage, persons even without specialized training may well be called upon to author some type of multimedia presentations.
In the prior art which addresses these needs, exemplary techniques for authoring stories include computer scripting languages, timelines, hyperlinked card stacks, frame-by-frame animation and icon flow charts. An example of a programmed computer using an icon flow chart is a program entitled "IconAuthor", available from AimTech of Nashua, N.H. Prior art systems, such as the "IconAuthor" program, have advantages and disadvantages and each works well for a particular size, scope and general content of a story to be authored. The prior art systems fail, however, to allow the authoring of stories that combine all the following attributes: (1) simplicity and ease in describing basic story themes; (2) the introduction of interactivity into a linear story to make it non-linear; (3) the visualization at the user interface of the content and structure of the story being authored; (4) the ability to reuse and customize the story's content and structure; (5) the creation of large scale stories through hierarchical composition techniques; (6) the creation of repetitive story structures in which entire sub-structures are used more than once; (7) the ability to represent a range of programming semantics (calls, GOTOs, parallel invocation, mutual exclusion) in a simple visual language; (8) the visual representation of common multimedia objects and functions (buttons, synchronization, timelines, media icons) integrated into the same visual programming language; and (9) the ability to intermix a standard textual programming language with the visual programming language.
Thus, there is a need for easy-to-author multimedia stories. There is also a desire to provide easy-to-author multimedia stories using a visual language that provides a range of capabilities similar to those found in a modern text-based programming language (which includes calls, GOTOs, subroutines, looping, data types, abstract classes, modular decomposition, parallelism constructs, recursion, mutual exclusion, programmatic changes to the content flow, etc.).